LGF_ActDeactDevice (FB / 2.0.0)

Übersicht

Autor: Simatic Systems Support

Kurzbeschreibung

LGF_ActDeactDevice stellt eine kompakte State Maschine zur Aktivierung und Überwachung bzw. Deaktivierung eines dezentralen IO-Gerätes bereit.

Baustein Schnittstelle

LGF_ActDeactDevice (FB)
Bool  deactivate done  Bool
    
Bool  activate busy  Bool
    
HW_DEVICE  hwId error  Bool
    
LGF_typeActDeactDeviceParameter  parameter status  Word
    
   deactivatingActive  Bool
    
   deactivatingDone  Bool
    
   activatingActive  Bool
    
   activatingDone  Bool
    
   diagnostics  LGF_typeDiagnostics
    
   

Input Parameter

BezeichnerDatentyp Default Wert Beschreibung
deactivateBool FALSE Steigende Flanke: Deaktivieren des Gerätes angegeben `hwId`
activateBool FALSE Steigende Flanke: Aktivieren des Gerätes angegeben `hwId`
hwIdHW_DEVICE --- Hardware-ID des Geräts, das aktiviert/deaktiviert werden soll (`Device~PnIf~IODevice`)
parameterLGF_typeActDeactDeviceParameter --- Parameterdatensatz für die Funktion `LGF_ActDeactDevice`

Output Parameter

BezeichnerDatentyp Beschreibung
doneBool TRUE: FB-Abarbeitung erfolgreich fertiggestellt
busyBool TRUE: FB ist aktive und neue Ausgabewerte können erwartet werden.
errorBool Während der Ausführung des FB ist ein Fehler aufgetreten
statusWord 16#0000-16#7FFF: Status des FB / 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)
deactivatingActiveBool TRUE: Deaktivierung des Gerätes aktiv
deactivatingDoneBool TRUE: Gerät deaktiviert
activatingActiveBool TRUE: Aktivierung des Geräts aktiv
activatingDoneBool TRUE: Gerät aktiviert
diagnosticsLGF_typeDiagnostics Diagnosestruktur zur Speicherung und Übertragung von Diagnoseinformationen von Blöcken über die Schnittstelle.

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_DEACTIVATION_DONE
Geräte Deaktivierung erfolgreich beendet
16#0001STATUS_ACTIVATION_DONE
Geräte Aktivierung erfolgreich beendet
16#7000STATUS_NO_CALL
Kein Auftrag wird gerade bearbeitet
16#7040STATUS_DEACTIVATION
Deaktivierung des Geräts
16#7060STATUS_ACTIVATION
Aktivierung des Geräts
16#8600ERR_UNDEFINED_STATE
Fehler: Aufgrund eines undefinierten Zustands im Zustandsautomaten
16#8601ERR_LOG2GEO
Fehler: Log2Geo, möglicherweise ist die HW ID für das Gerät falsch, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8602ERR_GEO2LOG
Fehler: Geo2Log, möglicherweise ist die HW-ID für das Gerät falsch, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8640ERR_DEVICE_DEACTIVATING
Fehler: Deaktivierung `D_ACT_DP` des Geräts, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8641ERR_DEVICE_DEACTIVATING_TIME_OUT
Fehler: Deaktivierung des Gerätes - Watchdog-Timer abgelaufen
16#8642ERR_DEVICE_DEACTIVATING_RETRIES_REACHED
Fehler: Deaktivierung des Geräts - Wiederholungszähler maximum erreicht
16#8650ERR_READ_ACTIVATION_STATE_WHILE_DEACTIVATED
Fehler: Deaktivierungsstatus (D_ACT_DP) des Geräts ist falsch, gewünscht ist `16#0000` oder `16#0002`, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8660ERR_DEVICE_ACTIVATING
Fehler: Aktivierung `D_ACT_DP` des Geräts, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8661ERR_DEVICE_ACTIVATING_TIME_OUT
Fehler: Aktivierung des Geräts - Watchdog-Timer abgelaufen. Kann an einer unterbrochenen Geräteverbindung liegen.
16#8662ERR_DEVICE_ACTIVATING_RETRIES_REACHED
Fehler: Aktivierung des Geräts - Wiederholungszähler maximum erreicht. Kann an einer unterbrochenen Geräteverbindung liegen.
16#8663ERR_READ_DEVICES_STATES_DURING_ACTIVATION
Fehler: Read Device States (`DeviceStates`) während der Aktivierung des Gerätes, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8670ERR_READ_DEVICES_STATES_WHILE_ACTIVE
Fehler: Read Device States (`DeviceStates`) während das Gerät aktiv ist, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8671ERR_DEVICE_STATE_WHILE_ACTIVE
Fehler: Gerät meldet vorliegenden Fehler und ist unerreichbar, fehlerhaftes Gerät oder IO-System
16#8672ERR_READ_ACTIVATION_STATE_WHILE_ACTIVE
Fehler: Aktivierungsstatus (`D_ACT_DP`) des Geräts ist falsch, gewünscht ist `16#0000` oder `16#0001`, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8690ERR_DISABLING_DEACT_DEVICE
Fehler: Deaktivierung `D_ACT_DP` des Geräts führt zu einem Fehler bei der Deaktivierung, siehe `diagnostics.subFunctionStatus` für weitere Informationen
16#8691ERR_DISABLING_WATCHDOG
Fehler: Watchdog-Timer beim Deaktivieren abgelaufen

Benutzer definierte Datentypen

LGF_typeActDeactDeviceParameter (UDT / V2.0.0)

Dieser UDT gehört zum Modul LGF_ActDeactDevice und listet alle möglichen Parameter zur Konfiguration des Verhaltens auf.

Bezeichner Datentyp Default Wert Beschreibung
activationRetries SInt 100 Anzahl der Wiederholungen der Aktivierung & Deaktivierung, bis einen Fehler anzeigt wird
timeOutActDeact Time T#5S Die Zeit für die Überwachung der Befehle `activate` und `deactivate` sollte größer sein als die in der Hardwarekonfiguration der SPS im Abschnitt `Startup` eingestellte `Parametrierungszeit`.

LGF_typeDiagnostics (UDT / V1.0.1)

Diagnosestruktur zur Speicherung und Übertragung von Diagnoseinformationen von Blöcken über die Schnittstelle.

Bezeichner Datentyp Default Wert Beschreibung
status Word 16#0000 Status des Bausteins oder Fehleridentifikation beim Auftreten des Fehlers
subfunctionStatus Word 16#0000 Status oder Rückgabewert von aufgerufenen FB's, FC's und Systembausteinen
stateNumber DInt 0 Zustand in der Zustandsmaschine des Blocks, in dem der Fehler aufgetreten ist

Funktionsbeschreibung

Das Modul stellt den Ablauf zum Aktivieren und Deaktivieren eines dezentralen IO-Gerätes im Profinet (PN, S7-1500 & S7-1200) sowie im Profibus (DP, S7-1500) Netzwerk zur Verfügung.

Das Aktivieren des Gerätes (definiert an hwId) wird durch eine steigende Flanke an activate eingeleitet, nach vollständiger Aktivierung wir dieses am Ausgang isActivated angezeigt.


Hinweis
Der Verbindungsstatus des Dezentralen Gerätes wird in der TIA Portal Projekt Navigation in der PLC, welcher der IO-Controller ist, unter dem Punkt Dezentrale Peripherie angezeigt, wenn sie mit dem Engineering System online sind.

Das Deaktivieren des Gerätes (definiert an hwId) wird durch eine steigende Flanke an deactivate eingeleitet, nach vollständiger Aktivierung wir dieses am Ausgang isDeactivated angezeigt.


Hinweis
Der Parameter timeOutActDeact zur Überwachung der Aktivierungs- und Deaktivierungssequenz sollte immer größer eingestellt werden als der Parametrierte Wert in der Gerätekonfiguration / Anlauf / Parametrierungszeit.

Parametrierung PLC

Änderungshistorie

Version & DatumÄnderungsbeschreibung
1.0.0Simatic Systems Support
06.04.2024First released version in different project
2.0.0Simatic Systems Support
10.03.2025Refactoring & Improve Code for LGF Integration
Thats why we start here with V2.0 for the LGF integration
Copy of `LGF_ActDeactMonitorDevice` without device monitoring, just executing activation and deactivation